[INFO] cloning repository https://github.com/xeruf/mostr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xeruf/mostr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxeruf%2Fmostr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxeruf%2Fmostr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a2b3a84611387de79288de1e1c07431a1ee27a6f
[INFO] checking xeruf/mostr/a2b3a84611387de79288de1e1c07431a1ee27a6f against master#f28ac764c36004fa6a6e098d15b4016a838c13c6 for pr-158320
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxeruf%2Fmostr" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/xeruf/mostr
[INFO] finished tweaking git repo https://github.com/xeruf/mostr
[INFO] tweaked toml for git repo https://github.com/xeruf/mostr written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xeruf/mostr on toolchain f28ac764c36004fa6a6e098d15b4016a838c13c6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f28ac764c36004fa6a6e098d15b4016a838c13c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/xeruf/mostr already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f28ac764c36004fa6a6e098d15b4016a838c13c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/xeruf/rustyline`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded parse_datetime v0.5.0
[INFO] [stderr]   Downloaded nostr-database v0.38.0
[INFO] [stderr]   Downloaded nostr-sdk v0.38.0
[INFO] [stderr]   Downloaded nostr v0.38.0
[INFO] [stderr]   Downloaded hex_lit v0.1.1
[INFO] [stderr]   Downloaded atomic-destructor v0.3.0
[INFO] [stderr]   Downloaded bitcoin-internals v0.2.0
[INFO] [stderr]   Downloaded bitcoin-internals v0.3.0
[INFO] [stderr]   Downloaded base58ck v0.1.0
[INFO] [stderr]   Downloaded async-utility v0.3.1
[INFO] [stderr]   Downloaded negentropy v0.4.3
[INFO] [stderr]   Downloaded negentropy v0.3.1
[INFO] [stderr]   Downloaded bitcoin-units v0.1.2
[INFO] [stderr]   Downloaded hex-conservative v0.1.2
[INFO] [stderr]   Downloaded async-wsocket v0.12.0
[INFO] [stderr]   Downloaded bech32 v0.11.0
[INFO] [stderr]   Downloaded bitcoin_hashes v0.13.0
[INFO] [stderr]   Downloaded keyring v3.6.1
[INFO] [stderr]   Downloaded bip39 v2.1.0
[INFO] [stderr]   Downloaded linux-keyutils v0.2.4
[INFO] [stderr]   Downloaded dbus-secret-service v4.0.3
[INFO] [stderr]   Downloaded interim v0.1.2
[INFO] [stderr]   Downloaded bitcoin v0.32.5
[INFO] [stderr]   Downloaded colog v1.3.0
[INFO] [stderr]   Downloaded nostr-relay-pool v0.38.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b2be88d3818cf0977311e91ce88e70351e89b50f7e982e3c5a4e3eb2662424cf
[INFO] running `Command { std: "docker" "start" "b2be88d3818cf0977311e91ce88e70351e89b50f7e982e3c5a4e3eb2662424cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b2be88d3818cf0977311e91ce88e70351e89b50f7e982e3c5a4e3eb2662424cf" "/opt/rustwide/cargo-home/bin/cargo" "+f28ac764c36004fa6a6e098d15b4016a838c13c6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b2be88d3818cf0977311e91ce88e70351e89b50f7e982e3c5a4e3eb2662424cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b2be88d3818cf0977311e91ce88e70351e89b50f7e982e3c5a4e3eb2662424cf" "/opt/rustwide/cargo-home/bin/cargo" "+f28ac764c36004fa6a6e098d15b4016a838c13c6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking cpufeatures v0.2.16
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling cc v1.2.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]    Compiling bitcoin-io v0.1.3
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking rustls-pki-types v1.10.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling bitcoin-internals v0.3.0
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking hex-conservative v0.2.1
[INFO] [stderr]    Compiling rustls v0.23.21
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]    Compiling bitcoin v0.32.5
[INFO] [stderr]    Compiling serde_json v1.0.135
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]     Checking indexmap v2.7.0
[INFO] [stderr]     Checking tinyvec v1.8.1
[INFO] [stderr]    Compiling libdbus-sys v0.2.5
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking http v1.2.0
[INFO] [stderr]     Checking data-encoding v2.7.0
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking bech32 v0.11.0
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking webpki-roots v0.26.7
[INFO] [stderr]     Checking negentropy v0.4.3
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]     Checking negentropy v0.3.1
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]    Compiling rustix v0.38.43
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking atomic-destructor v0.3.0
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]     Checking home v0.5.11
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking whoami v1.5.2
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling secp256k1-sys v0.10.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking dbus v0.9.7
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking linux-keyutils v0.2.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking directories v5.0.1
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking scrypt v0.11.0
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking fd-lock v4.0.2
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking parse_datetime v0.5.0
[INFO] [stderr]     Checking env_logger v0.11.6
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking rustyline v15.0.0 (https://github.com/xeruf/rustyline?rev=5364854#53648543)
[INFO] [stderr]     Checking colog v1.3.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling logos-codegen v0.14.4
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.85
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling logos-derive v0.14.4
[INFO] [stderr]     Checking tokio v1.43.0
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking logos v0.14.4
[INFO] [stderr]     Checking interim v0.1.2
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking dbus-secret-service v4.0.3
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking keyring v3.6.1
[INFO] [stderr]     Checking tokio-rustls v0.26.1
[INFO] [stderr]     Checking tokio-socks v0.5.2
[INFO] [stderr]     Checking async-utility v0.3.1
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking bitcoin_hashes v0.14.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking bitcoin-units v0.1.2
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking async-wsocket v0.12.0
[INFO] [stderr]     Checking base58ck v0.1.0
[INFO] [stderr]     Checking secp256k1 v0.29.1
[INFO] [stderr]     Checking nostr v0.38.0
[INFO] [stderr]     Checking nostr-database v0.38.0
[INFO] [stderr]     Checking nostr-relay-pool v0.38.0
[INFO] [stderr]     Checking nostr-sdk v0.38.0
[INFO] [stderr]     Checking mostr v0.9.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `with-file-history`
[INFO] [stdout]   --> examples/rustyline.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[cfg(feature = "with-file-history")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `persistence`
[INFO] [stdout]    = help: consider adding `with-file-history` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `with-file-history`
[INFO] [stdout]   --> examples/rustyline.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg(feature = "with-file-history")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `persistence`
[INFO] [stdout]    = help: consider adding `with-file-history` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]  --> examples/rustyline.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn handle(&self, evt: &Event, n: RepeatCount, positive: bool, ctx: &EventContext) -> Option<Cmd> {
[INFO] [stdout]   |                      ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]  --> examples/rustyline.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn handle(&self, evt: &Event, n: RepeatCount, positive: bool, ctx: &EventContext) -> Option<Cmd> {
[INFO] [stdout]   |                                   ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `positive`
[INFO] [stdout]  --> examples/rustyline.rs:6:51
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn handle(&self, evt: &Event, n: RepeatCount, positive: bool, ctx: &EventContext) -> Option<Cmd> {
[INFO] [stdout]   |                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/rustyline.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 rl.add_history_entry(line.as_str());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 let _ = rl.add_history_entry(line.as_str());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `TimeDelta`, `TimeZone`, and `Utc`
[INFO] [stdout]  --> src/main.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{DateTime, Local, TimeDelta, TimeZone, Utc};
[INFO] [stdout]   |              ^^^^^^^^         ^^^^^^^^^  ^^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nostr_sdk::bitcoin::hex::DisplayHex`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use nostr_sdk::bitcoin::hex::DisplayHex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nostr_sdk::serde_json::Serializer`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use nostr_sdk::serde_json::Serializer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::once`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::iter::once;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::error::Elapsed`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use tokio::time::error::Elapsed;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::timeout`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use tokio::time::timeout;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::LocalResult::Single`
[INFO] [stdout]  --> src/helpers.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::LocalResult::Single;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `trace`
[INFO] [stdout]  --> src/helpers.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/helpers.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FixedOffset`, `NaiveDate`, and `Timelike`
[INFO] [stdout]    --> src/helpers.rs:175:18
[INFO] [stdout]     |
[INFO] [stdout] 175 |     use chrono::{FixedOffset, NaiveDate, Timelike};
[INFO] [stdout]     |                  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interim::datetime::DateTime`
[INFO] [stdout]    --> src/helpers.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     use interim::datetime::DateTime;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::Display`
[INFO] [stdout]  --> src/task.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::btree_set::Iter`
[INFO] [stdout]  --> src/task.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::btree_set::Iter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Chain` and `Once`
[INFO] [stdout]   --> src/task.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::iter::{once, Chain, Once};
[INFO] [stdout]    |                       ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PROCEDURE_KIND_ID` and `PROCEDURE_KIND`
[INFO] [stdout]   --> src/task.rs:17:49
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::kinds::{match_event_tag, Prio, PRIO, PROCEDURE_KIND, PROCEDURE_KIND_ID, TASK_KIND};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Colorize`
[INFO] [stdout]   --> src/task.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 | use colored::{ColoredString, Colorize};
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `trace`
[INFO] [stdout]   --> src/task.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |           ^^^^^  ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SingleLetterTag`
[INFO] [stdout]   --> src/task.rs:27:60
[INFO] [stdout]    |
[INFO] [stdout] 27 | use nostr_sdk::{Alphabet, Event, EventId, Kind, PublicKey, SingleLetterTag, Tag, TagKind, Timestamp};
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Keys` and `Tag`
[INFO] [stdout]  --> src/tasks/nostr_users.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nostr_sdk::{Keys, Metadata, PublicKey, Tag, Timestamp};
[INFO] [stdout]   |                 ^^^^                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `trace`
[INFO] [stdout]   --> src/tasks.rs:22:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Url`
[INFO] [stdout]   --> src/tasks.rs:23:152
[INFO] [stdout]    |
[INFO] [stdout] 23 | ...PublicKey, RelayUrl, SingleLetterTag, Tag, TagKind, Timestamp, Url};
[INFO] [stdout]    |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]   --> src/tasks.rs:28:16
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::ops::{Deref, Div, Rem};
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tasks`
[INFO] [stdout]  --> src/event_sender.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tasks;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/event_sender.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]   |                         ^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated tuple variant `nostr_sdk::Kind::Regular`: Use `Custom` variant or `is_regular` method instead.
[INFO] [stdout]   --> src/kinds.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const PROCEDURE_KIND: Kind = Kind::Regular(PROCEDURE_KIND_ID);
[INFO] [stdout]    |                                        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated tuple variant `nostr_sdk::Kind::Regular`: Use `Custom` variant or `is_regular` method instead.
[INFO] [stdout]   --> src/kinds.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const TRACKING_KIND: Kind = Kind::Regular(1650);
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `TimeDelta`, `TimeZone`, and `Utc`
[INFO] [stdout]  --> src/main.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{DateTime, Local, TimeDelta, TimeZone, Utc};
[INFO] [stdout]   |              ^^^^^^^^         ^^^^^^^^^  ^^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nostr_sdk::bitcoin::hex::DisplayHex`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use nostr_sdk::bitcoin::hex::DisplayHex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nostr_sdk::serde_json::Serializer`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use nostr_sdk::serde_json::Serializer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::once`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::iter::once;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::error::Elapsed`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use tokio::time::error::Elapsed;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::timeout`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use tokio::time::timeout;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::LocalResult::Single`
[INFO] [stdout]  --> src/helpers.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::LocalResult::Single;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `trace`
[INFO] [stdout]  --> src/helpers.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interim::datetime::DateTime`
[INFO] [stdout]    --> src/helpers.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     use interim::datetime::DateTime;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::Display`
[INFO] [stdout]  --> src/task.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::btree_set::Iter`
[INFO] [stdout]  --> src/task.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::btree_set::Iter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Chain` and `Once`
[INFO] [stdout]   --> src/task.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::iter::{once, Chain, Once};
[INFO] [stdout]    |                       ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PROCEDURE_KIND_ID` and `PROCEDURE_KIND`
[INFO] [stdout]   --> src/task.rs:17:49
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::kinds::{match_event_tag, Prio, PRIO, PROCEDURE_KIND, PROCEDURE_KIND_ID, TASK_KIND};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Colorize`
[INFO] [stdout]   --> src/task.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 | use colored::{ColoredString, Colorize};
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `trace`
[INFO] [stdout]   --> src/task.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |           ^^^^^  ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SingleLetterTag`
[INFO] [stdout]   --> src/task.rs:27:60
[INFO] [stdout]    |
[INFO] [stdout] 27 | use nostr_sdk::{Alphabet, Event, EventId, Kind, PublicKey, SingleLetterTag, Tag, TagKind, Timestamp};
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `trace`
[INFO] [stdout]   --> src/tasks.rs:22:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]    |                  ^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Url`
[INFO] [stdout]   --> src/tasks.rs:23:152
[INFO] [stdout]    |
[INFO] [stdout] 23 | ...PublicKey, RelayUrl, SingleLetterTag, Tag, TagKind, Timestamp, Url};
[INFO] [stdout]    |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]   --> src/tasks.rs:28:16
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::ops::{Deref, Div, Rem};
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tasks`
[INFO] [stdout]  --> src/event_sender.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tasks;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/event_sender.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{debug, error, info, trace, warn};
[INFO] [stdout]   |                         ^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/relay-test-0_34.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         client.send_event_builder(EventBuilder::new(Kind::TextNote, "test")).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let _ = client.send_event_builder(EventBuilder::new(Kind::TextNote, "test")).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated tuple variant `nostr_sdk::Kind::Regular`: Use `Custom` variant or `is_regular` method instead.
[INFO] [stdout]   --> src/kinds.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const PROCEDURE_KIND: Kind = Kind::Regular(PROCEDURE_KIND_ID);
[INFO] [stdout]    |                                        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated tuple variant `nostr_sdk::Kind::Regular`: Use `Custom` variant or `is_regular` method instead.
[INFO] [stdout]   --> src/kinds.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const TRACKING_KIND: Kind = Kind::Regular(1650);
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::ops::Add;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/task.rs:92:67
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 .and_then(|c| PublicKey::from_str(c).inspect_err(|e| warn!("Unparseable pubkey in {:?}", t)).ok()))
[INFO] [stdout]    |                                                                   ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/tasks/nostr_users.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |             .sorted_unstable_by_key(|(k, v)| self.get_user_time(k))
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/main.rs:526:80
[INFO] [stdout]     |
[INFO] [stdout] 526 | ...                   tasks.set_key_filter(users.iter().map(|(k, v)| *k).collect_vec())
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/main.rs:525:86
[INFO] [stdout]     |
[INFO] [stdout] 525 | ...                   info!("Showing tasks for {}", users.iter().map(|(k, v)| v).join(", "));
[INFO] [stdout]     |                                                                        ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::ops::Add;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/task.rs:92:67
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 .and_then(|c| PublicKey::from_str(c).inspect_err(|e| warn!("Unparseable pubkey in {:?}", t)).ok()))
[INFO] [stdout]    |                                                                   ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]    --> src/tasks.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl StateFilter {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 112 |     fn from(str: &str) -> Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `visible_tasks`, `parent_tag`, and `make_task_unwrapped` are never used
[INFO] [stdout]     --> src/tasks.rs:237:19
[INFO] [stdout]      |
[INFO] [stdout]  154 | impl TasksRelay {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  237 |     pub(crate) fn len(&self) -> usize { self.tasks.len() }
[INFO] [stdout]      |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  607 |     fn visible_tasks(&self) -> Vec<&Task> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1050 |     pub(crate) fn parent_tag(&self) -> Option<Tag> {
[INFO] [stdout]      |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1158 |     fn make_task_unwrapped(&mut self, input: &str) -> EventId {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TraversalFilter` is never used
[INFO] [stdout]  --> src/tasks/children_traversal.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum TraversalFilter {
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `takes_children` and `takes_self` are never used
[INFO] [stdout]   --> src/tasks/children_traversal.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl TraversalFilter {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] 15 |     fn takes_children(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn takes_self(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `rooted`, `with_queue`, `process_depth`, `get_depth`, and `next_filtered` are never used
[INFO] [stdout]    --> src/tasks/children_traversal.rs:38:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl<'a> ChildrenTraversal<'a> {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout]  38 |     fn rooted(tasks: &'a TaskMap, id: Option<&EventId>) -> Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     fn with_queue(tasks: &'a TaskMap, queue: Vec<EventId>) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub(super) fn process_depth(&mut self, depth: usize) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub(super) fn get_depth(mut self, depth: usize) -> Vec<EventId> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn next_filtered<F>(&mut self, filter: &F) -> Option<&'a Task>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/tasks.rs:45:72
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn children_of<'a>(&'a self, task: &'a Task) -> impl Iterator<Item=&Task> + 'a;
[INFO] [stdout]    |                         --              --                             ^^^^^    -- the same lifetime is named here
[INFO] [stdout]    |                         |               |                              |
[INFO] [stdout]    |                         |               the lifetime is named here     the same lifetime is elided here
[INFO] [stdout]    |                         the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn children_of<'a>(&'a self, task: &'a Task) -> impl Iterator<Item=&'a Task> + 'a;
[INFO] [stdout]    |                                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/tasks.rs:46:78
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn children_for<'a>(&'a self, id: Option<EventId>) -> impl Iterator<Item=&Task> + 'a;
[INFO] [stdout]    |                          --                                                  ^^^^^    -- the same lifetime is named here
[INFO] [stdout]    |                          |                                                   |
[INFO] [stdout]    |                          the lifetime is named here                          the same lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn children_for<'a>(&'a self, id: Option<EventId>) -> impl Iterator<Item=&'a Task> + 'a;
[INFO] [stdout]    |                                                                               ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/tasks.rs:50:72
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn children_of<'a>(&'a self, task: &'a Task) -> impl Iterator<Item=&Task> + 'a {
[INFO] [stdout]    |                         --              --                             ^^^^^    -- the same lifetime is named here
[INFO] [stdout]    |                         |               |                              |
[INFO] [stdout]    |                         |               the lifetime is named here     the same lifetime is elided here
[INFO] [stdout]    |                         the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn children_of<'a>(&'a self, task: &'a Task) -> impl Iterator<Item=&'a Task> + 'a {
[INFO] [stdout]    |                                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/tasks.rs:54:78
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn children_for<'a>(&'a self, id: Option<EventId>) -> impl Iterator<Item=&Task> + 'a {
[INFO] [stdout]    |                          --                                                  ^^^^^    -- the same lifetime is named here
[INFO] [stdout]    |                          |                                                   |
[INFO] [stdout]    |                          the lifetime is named here                          the same lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn children_for<'a>(&'a self, id: Option<EventId>) -> impl Iterator<Item=&'a Task> + 'a {
[INFO] [stdout]    |                                                                               ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/tasks/nostr_users.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |             .sorted_unstable_by_key(|(k, v)| self.get_user_time(k))
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tasks.rs:488:25
[INFO] [stdout]     |
[INFO] [stdout] 488 |     fn traverse_up_from(&self, id: Option<EventId>) -> ParentIterator {
[INFO] [stdout]     |                         ^^^^^                          ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 488 |     fn traverse_up_from(&self, id: Option<EventId>) -> ParentIterator<'_> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/tasks/durations.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ids: &'a [EventId],
[INFO] [stdout]    |           -- the lifetime is named here
[INFO] [stdout] 19 | ) -> impl Iterator<Item=(&Timestamp, Option<EventId>)> {
[INFO] [stdout]    |                          ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 19 | ) -> impl Iterator<Item=(&'a Timestamp, Option<EventId>)> {
[INFO] [stdout]    |                           ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]    --> src/tasks/tests.rs:264:9
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let side = tasks.submit(
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/main.rs:526:80
[INFO] [stdout]     |
[INFO] [stdout] 526 | ...                   tasks.set_key_filter(users.iter().map(|(k, v)| *k).collect_vec())
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/main.rs:525:86
[INFO] [stdout]     |
[INFO] [stdout] 525 | ...                   info!("Showing tasks for {}", users.iter().map(|(k, v)| v).join(", "));
[INFO] [stdout]     |                                                                        ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parent_tag` is never used
[INFO] [stdout]     --> src/tasks.rs:1050:19
[INFO] [stdout]      |
[INFO] [stdout]  154 | impl TasksRelay {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1050 |     pub(crate) fn parent_tag(&self) -> Option<Tag> {
[INFO] [stdout]      |                   ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TraversalFilter` is never used
[INFO] [stdout]  --> src/tasks/children_traversal.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum TraversalFilter {
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `takes_children` and `takes_self` are never used
[INFO] [stdout]   --> src/tasks/children_traversal.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl TraversalFilter {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] 15 |     fn takes_children(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn takes_self(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `rooted`, `with_queue`, and `next_filtered` are never used
[INFO] [stdout]    --> src/tasks/children_traversal.rs:38:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl<'a> ChildrenTraversal<'a> {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout]  38 |     fn rooted(tasks: &'a TaskMap, id: Option<&EventId>) -> Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     fn with_queue(tasks: &'a TaskMap, queue: Vec<EventId>) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn next_filtered<F>(&mut self, filter: &F) -> Option<&'a Task>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/tasks.rs:45:72
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn children_of<'a>(&'a self, task: &'a Task) -> impl Iterator<Item=&Task> + 'a;
[INFO] [stdout]    |                         --              --                             ^^^^^    -- the same lifetime is named here
[INFO] [stdout]    |                         |               |                              |
[INFO] [stdout]    |                         |               the lifetime is named here     the same lifetime is elided here
[INFO] [stdout]    |                         the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn children_of<'a>(&'a self, task: &'a Task) -> impl Iterator<Item=&'a Task> + 'a;
[INFO] [stdout]    |                                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/tasks.rs:46:78
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn children_for<'a>(&'a self, id: Option<EventId>) -> impl Iterator<Item=&Task> + 'a;
[INFO] [stdout]    |                          --                                                  ^^^^^    -- the same lifetime is named here
[INFO] [stdout]    |                          |                                                   |
[INFO] [stdout]    |                          the lifetime is named here                          the same lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn children_for<'a>(&'a self, id: Option<EventId>) -> impl Iterator<Item=&'a Task> + 'a;
[INFO] [stdout]    |                                                                               ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/tasks.rs:50:72
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn children_of<'a>(&'a self, task: &'a Task) -> impl Iterator<Item=&Task> + 'a {
[INFO] [stdout]    |                         --              --                             ^^^^^    -- the same lifetime is named here
[INFO] [stdout]    |                         |               |                              |
[INFO] [stdout]    |                         |               the lifetime is named here     the same lifetime is elided here
[INFO] [stdout]    |                         the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn children_of<'a>(&'a self, task: &'a Task) -> impl Iterator<Item=&'a Task> + 'a {
[INFO] [stdout]    |                                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/tasks.rs:54:78
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn children_for<'a>(&'a self, id: Option<EventId>) -> impl Iterator<Item=&Task> + 'a {
[INFO] [stdout]    |                          --                                                  ^^^^^    -- the same lifetime is named here
[INFO] [stdout]    |                          |                                                   |
[INFO] [stdout]    |                          the lifetime is named here                          the same lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn children_for<'a>(&'a self, id: Option<EventId>) -> impl Iterator<Item=&'a Task> + 'a {
[INFO] [stdout]    |                                                                               ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tasks.rs:488:25
[INFO] [stdout]     |
[INFO] [stdout] 488 |     fn traverse_up_from(&self, id: Option<EventId>) -> ParentIterator {
[INFO] [stdout]     |                         ^^^^^                          ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 488 |     fn traverse_up_from(&self, id: Option<EventId>) -> ParentIterator<'_> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/tasks/durations.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ids: &'a [EventId],
[INFO] [stdout]    |           -- the lifetime is named here
[INFO] [stdout] 19 | ) -> impl Iterator<Item=(&Timestamp, Option<EventId>)> {
[INFO] [stdout]    |                          ^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 19 | ) -> impl Iterator<Item=(&'a Timestamp, Option<EventId>)> {
[INFO] [stdout]    |                           ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 54.22s
[INFO] running `Command { std: "docker" "inspect" "b2be88d3818cf0977311e91ce88e70351e89b50f7e982e3c5a4e3eb2662424cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2be88d3818cf0977311e91ce88e70351e89b50f7e982e3c5a4e3eb2662424cf", kill_on_drop: false }`
[INFO] [stdout] b2be88d3818cf0977311e91ce88e70351e89b50f7e982e3c5a4e3eb2662424cf
